<?php
namespace Admin\Controller;
use Think\Controller;
use Think\Page;
class SysController extends Controller {

    function __construct()
    {
        parent::__construct();
        $this->check_auth(); //检查权限
    }

    public function showAll(){
        $stu_model=M('zhangben');
        $map['school_id'] = $_SESSION['school_id'];
        //导入分页助手类
        import('Org.Util.Page');
        $total= $stu_model->where($map)->count();//记录总数
        $page=new Page($total,50);
        $page->setConfig("header",'个用户');
        $pageControl=$page->show();
        $stus=$stu_model->where($map)->limit("$page->firstRow,$page->listRows")->order("id desc")->select();
        $this-> assign('stus',$stus);
        $this-> assign('page_title',"账本管理");
        $this-> assign('pageControl', $pageControl);
        $this-> display();

    }
    public function showMenus(){
        $stu_model=M('menu');
        $map['school_id'] = $_SESSION['school_id'];
        //导入分页助手类
        import('Org.Util.Page');
        $total= $stu_model->where($map)->count();//记录总数
        $page=new Page($total,50);
        $page->setConfig("header",'个用户');
        $pageControl=$page->show();
        $stus=$stu_model->where($map)->limit("$page->firstRow,$page->listRows")->order("id ASC")->select();
        $this-> assign('stus',$stus);
        $this-> assign('page_title',"菜单管理");
        $this-> assign('pageControl', $pageControl);
        $this-> display();

    }
    public function showGoods(){
        $stu_model=M('goods');
        $map['school_id'] = $_SESSION['school_id'];
        //导入分页助手类
        import('Org.Util.Page');
        $total= $stu_model->where($map)->count();//记录总数
        $page=new Page($total,5);
        $page->setConfig("header",'个用户');
        $pageControl=$page->show();
        $stus=$stu_model->where($map)->limit("$page->firstRow,$page->listRows")->order("id ASC")->select();
        $this-> assign('stus',$stus);
        $this-> assign('page_title',"商品管理");
        $this-> assign('pageControl', $pageControl);
        $this-> display();

    }
    public function company(){
        $stu_model=M('company');
        $map['school_id'] = $_SESSION['school_id'];
        //导入分页助手类
        import('Org.Util.Page');
        $total= $stu_model->where($map)->count();//记录总数
        $page=new Page($total,10);
        $pageControl=$page->show();
        $stus=$stu_model->where($map)->limit("$page->firstRow,$page->listRows")->order("sort ASC")->select();
        $this-> assign('stus',$stus);
        $this-> assign('page_title',"供应商管理");
        $this-> assign('pageControl', $pageControl);
        $this-> display();

    }
    //实现学生修改功能
    public function update()
    {
        header("Content-Type:text/html;charset=utf-8");
        $stu=M('zhangben');
        $id=$_GET['id'];
        if(empty($_POST['name'])){
            $this->error('名称不能为空');
        }
        if($id){
            //修改
            $stu_list=$stu->where("id=$id")->save($_POST);
            if($stu_list){
                $this->success('修改成功！！');
                $this->redirect('showAll');
            }else{
                $this->error('修改失败！！');
            }
        }else{
            $stuinfo['name']=$_POST['name'];
            $stuinfo['begin_date']=$_POST['begin_date'];
            $stuinfo['end_date']=$_POST['end_date'];
            $stuinfo['student_number']=$_POST['student_number'];
            $stuinfo['school_id']=$_SESSION['school_id'];
            $result = $stu->add($stuinfo);
            if($result)
            {
                $this->success('添加成功！！');
                $this->redirect('showAll');
            }else{
                $this->error('添加失败！！');
            }
        }

    }
    //商品增加
    public function Goodsupdate()
    {
        header("Content-Type:text/html;charset=utf-8");
        $stu=M('goods');
        $id=$_GET['id'];
        if(empty($_POST['name'])){
            $this->error('名称不能为空');
        }
        if($id){
            //修改
            $stu_list=$stu->where("id=$id")->save($_POST);
            if($stu_list){
                $this->success('修改成功！！');
                $this->redirect('showGoods');
            }else{
                $this->error('修改失败！！');
            }
        }else{
            $stuinfo=$_POST;
            $stuinfo['school_id']=$_SESSION['school_id'];
            $stuinfo['pinyin']=$this->pinyin1($_POST['name']);
            $result = $stu->add($stuinfo);
            if($result)
            {
                $this->success('添加成功！！');
                $this->redirect('showGoods');
            }else{
                $this->error('添加失败！！');
            }
        }

    }

    //供应商品
    public function companyupdate()
    {
        header("Content-Type:text/html;charset=utf-8");
        $stu=M('company');
        $id=$_GET['id'];
        if(empty($_POST['name'])){
            $this->error('名称不能为空');
        }
        if($id){
            //修改
            $stu_list=$stu->where("id=$id")->save($_POST);
            if($stu_list){
                $this->success('修改成功！！');
                $this->redirect('company');
            }else{
                $this->error('修改失败！！');
            }
        }else{
            $stuinfo=$_POST;
            $stuinfo['school_id']=$_SESSION['school_id'];
            $result = $stu->add($stuinfo);
            if($result)
            {
                $this->success('添加成功！！');
                $this->redirect('company');
            }else{
                $this->error('添加失败！！');
            }
        }

    }

    public function Menuupdate()
    {
        header("Content-Type:text/html;charset=utf-8");
        $stu=M('menu');
        if(empty($_POST['name'])){
            $this->error('名称不能为空');
        }
        $id=$_GET['id'];
        if($id){
            //修改
            $stu_list=$stu->where("id=$id")->save($_POST);
            if($stu_list){
                $this->success('修改成功！！');
                $this->redirect('showMenus');
            }else{
                $this->error('修改失败！！');
            }
        }else{
            $stuinfo=$_POST;
            $stuinfo['school_id']=$_SESSION['school_id'];
            $result = $stu->add($stuinfo);
            if($result)
            {
                $this->success('添加成功！！');
                $this->redirect('showMenus');
            }else{
                $this->error('添加失败！！');
            }
        }

    }

    public function schoolupdate()
    {
        header("Content-Type:text/html;charset=utf-8");
        $stu=M('school');
        if(empty($_POST['name'])){
            $this->error('名称不能为空');
        }
        $id = $_SESSION['school_id'];
            //修改
            $stu_list = $stu->where("id=$id")->save($_POST);
            if ($stu_list) {
                $this->success('修改成功！！');
              //  $this->redirect('showschoolUpdate');
            } else {
                $this->error('修改失败！！');
            }

    }

    public function showUpdate()
    {

        $stu=M('zhangben');
        $id=$_GET['id'];
        $stu_list=$stu->where("id=$id")->find();
      //  var_dump($stu_list);
        $this-> assign('page_title',"修改");
        $this->assign('stu_list',$stu_list);
        $this->display('update');
    }

    public function showschoolUpdate()
    {

        $stu=M('school');
        $id=$_SESSION['school_id'];
        $stu_list=$stu->where("id=$id")->find();
      //  var_dump($stu_list);
        $this-> assign('page_title',"学校信息修改");
        $this->assign('stu_list',$stu_list);
        $this->display('schoolupdate');
    }

    public function SmenuUpdate()
    {

        $stu=M('menu');
        $id=$_GET['id'];
        $stu_list=$stu->where("id=$id")->find();
      //  var_dump($stu_list);
        $this-> assign('page_title',"修改");
        $this->assign('stu_list',$stu_list);
        $this->display('menuupdate');
    }

    public function GoodsEdit()
    {

        $stu=M('goods');
        $id=$_GET['id'];
        $stu_list=$stu->where("id=$id")->find();
      //  var_dump($stu_list);
        $this-> assign('page_title',"修改");
        $this->assign('stu_list',$stu_list);
        $this->display('goodsupdate');
    }
     public function companyEdit()
    {

        $stu=M('company');
        $id=$_GET['id'];
        $stu_list=$stu->where("id=$id")->find();
      //  var_dump($stu_list);
        $this-> assign('page_title',"修改");
        $this->assign('stu_list',$stu_list);
        $this->display('companyupdate');
    }


    //实现学生添加功能

    public function showAdd()
    {
        $this-> assign('page_title',"添加");
        $this->display('update');

    }
    public function goodsAdd()
    {
        $this-> assign('page_title',"添加");
        $this->display('goodsupdate');

    }
    public function companyAdd()
    {
        $this-> assign('page_title',"添加");
        $this->display('companyupdate');

    }
     public function menuAdd()
    {
        $this-> assign('page_title',"添加");
        $this->display('menuupdate');

    }

    public function del()
    {
        $stu=M('menu');
        $id=$_GET['id'];
        $stu->where("id=$id")->delete();
        $this->redirect('User:showMenus');//重定向到控制器的方法  display是本控制的方法
    }


    /**
     * @name: getfirstchar
     * @description: 获取汉子首字母
     * @param: string
     * @return: mixed
     * @author:
     * @create: 2014-09-17 21:46:52
     **/
    function getfirstchar($s0){
        $fchar = ord($s0{0});
        if($fchar >= ord("A") and $fchar <= ord("z") )return strtoupper($s0{0});
        //$s1 = iconv("UTF-8","gb2312//IGNORE", $s0);
        // $s2 = iconv("gb2312","UTF-8//IGNORE", $s1);
        $s1 = $this->get_encoding($s0,'GB2312');
        $s2 = $this->get_encoding($s1,'UTF-8');
        if($s2 == $s0){$s = $s1;}else{$s = $s0;}
        $asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
        if($asc >= -20319 and $asc <= -20284) return "A";
        if($asc >= -20283 and $asc <= -19776) return "B";
        if($asc >= -19775 and $asc <= -19219) return "C";
        if($asc >= -19218 and $asc <= -18711) return "D";
        if($asc >= -18710 and $asc <= -18527) return "E";
        if($asc >= -18526 and $asc <= -18240) return "F";
        if($asc >= -18239 and $asc <= -17923) return "G";
        if($asc >= -17922 and $asc <= -17418) return "H";
        if($asc >= -17417 and $asc <= -16475) return "J";
        if($asc >= -16474 and $asc <= -16213) return "K";
        if($asc >= -16212 and $asc <= -15641) return "L";
        if($asc >= -15640 and $asc <= -15166) return "M";
        if($asc >= -15165 and $asc <= -14923) return "N";
        if($asc >= -14922 and $asc <= -14915) return "O";
        if($asc >= -14914 and $asc <= -14631) return "P";
        if($asc >= -14630 and $asc <= -14150) return "Q";
        if($asc >= -14149 and $asc <= -14091) return "R";
        if($asc >= -14090 and $asc <= -13319) return "S";
        if($asc >= -13318 and $asc <= -12839) return "T";
        if($asc >= -12838 and $asc <= -12557) return "W";
        if($asc >= -12556 and $asc <= -11848) return "X";
        if($asc >= -11847 and $asc <= -11056) return "Y";
        if($asc >= -11055 and $asc <= -10247) return "Z";
        return null;
    }
    /**
     * @name: get_encoding
     * @description: 自动检测内容编码进行转换
     * @param: string data
     * @param: string to  目标编码
     * @return: string
     **/
    function get_encoding($data,$to){
        $encode_arr=array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
        $encoded=mb_detect_encoding($data, $encode_arr);
        $data = mb_convert_encoding($data,$to,$encoded);
        return $data;
    }

    function pinyin1($zh){
        $ret = "";
        $s1 = iconv("UTF-8","gb2312", $zh);
        $s2 = iconv("gb2312","UTF-8", $s1);
        if($s2 == $zh){$zh = $s1;}
        for($i = 0; $i < strlen($zh); $i++){
            $s1 = substr($zh,$i,1);
            $p = ord($s1);
            if($p > 160){
                $s2 = substr($zh,$i++,2);
                $ret .= $this->getfirstchar($s2);
            }else{
                $ret .= $s1;
            }
        }
        return $ret;
    }



}